﻿namespace Networks
{
    namespace GAME
    {
        public enum RETURN_CODE : int
        {
            SUCCESS = 0,
            ERROR = -1
        }

        public enum LOGIN_CODE : int
        {
            SUCCESS = 200,
            DUPLICATE = 500,
            FAILED = -1
        }

        public enum NOTIFY_STATE : int
        {
            NONE = 0,
            START = 1,
            PLAY = 2,
            MOVE = 3,
            DRAW = 4,
            PASS = 5,
            ABANDON = 6,
            END = 7
        }
    }

    //-------------------------------------------------------------------------------
    //                              Room
    //-------------------------------------------------------------------------------
    namespace ROOM
    {
        public enum TYPE : int
        {
            CLASSIC_PLAZA = 0,  // 默认固定的经典模式, 即主大厅直接开始的模式
            PLAZA = 1,          // 系统房间, 即场模式房间
            USER = 2,           // 用户创建房间
            TEAM = 3            // 队伍房间, 即队伍模式
        }

        public enum STATE : int
        {
            NONE = 0,
            CREATE = 1,
            REMOVE = 2,
            UPDATE = 3
        }

        public enum JOIN_RESULR : int
        {
            SUCCESS = 0,
            FAIL_ROOM_NOT_EXIST = 1,    // 房间不存在
            FAIL_NO_FREE_ROOM = 2,      // 不能加入
            FAIL_ACCOUNT_ERR = 3,       // 用户不存在
            FAIL_ALREADY_IN_ROOM = 4,   // 已经在房中
            FAIL_GAME_IS_START = 5,     // 游戏已开始
            FAIL_SYSERR = 6             // 系统错误
        }

        public enum LEAVE_TYPE : int
        {
            NORMAL = 0,             // 正常退出
            WAIT_TIMEOUT = 1,       // 等待游戏开始时间过长
            EXIST_TIMEOUT = 2,      // 超出最长房间占用时间
            OWNER_OFFLINE = 3,      // 房主掉线
            OWNER_DISSOLVE = 4,     // 房主解散房间
            GAMEEND = 5             // 游戏结束
        }

        public enum GAME_STATE : int
        {
            INVALID = 0,
            WAIT = 1, 
            LOADING = 2,    // 玩家开始加载场景资源
            PLAYING = 3     // 游戏正式进行中
        }
    }

    //-------------------------------------------------------------------------------
    //                              Room
    //-------------------------------------------------------------------------------
    namespace PLAYER
    {
        public enum STATE
        {
            NONE = 0,       // 无效状态
            STANDUP = 1,    // 站起//因为不支持table模式, 所以默认都是坐下的
            SITDOWN = 2,    // 坐下
            READY = 3,      // 准备中
            LOADED = 4,     // 场景资源已加载
            PLAYING = 5,    // 游戏中
            OFFLINE = 6,    // 离线
            SEEING = 7      // 观战
        }

        public enum ACTION : int
        {
            SITDOWN = 0,    // 坐下, 之后才能准备
            STANDUP = 1,    // 站起
            READY = 2,      // 准备

            SYNC_HEAD = 3,          //
            SYNC_LEFT_ARM = 4,      //
            SYNC_RIGHT_ARM = 5,     //
            SYNC_LEFT_LEG = 6,      //
            SYNC_RIGHT_LEG = 7,     //

            SHOT = 8,           //
            STOP_SHOT = 9,      //

            SEEING = 10      // 旁观
        }


    }
}